This application is based on application Nos. H11-164919 and H11-323313 filed in Japan, the content of which is hereby incorporated by reference.
1. Field of the Invention
The present invention relates to a digital broadcasting apparatus, and in particular to a digital broadcasting apparatus that adjusts bitrates assigned to source data items which compose additional information and are sent along with video and audio data of a broadcast program.
2. Background Art
As digital broadcasting has become more common in recent years, more and more additional information is being multiplexed and broadcasted with broadcast programs. The bitrate necessary to send each source data item composing the additional information depends on the nature of the source data item. Note that source data in this specification refers to data that composes information transmitted in addition to broadcast programs, and includes a plurality of source data items. Japanese Laid-Open Patent Application No. H10-304325, for instance, discloses a method for calculating the bitrate of each source data item from the size of the source data item.
With conventional methods, however, once a bitrate is determined for a source data item, the bitrate cannot be changed. This causes problems if the broadcast time is extended and the number of source data items to be sent changes. More specifically, if more source data items need to be sent, all source data items may not fit into the bandwidth reserved for source data. On the other hand, when source data items are deleted, the reserved bandwidth will not be used efficiently.
In view of the stated problems, the object of the present invention is to provide a digital broadcasting apparatus that adjusts the bitrate of each source data piece to efficiently use a bandwidth reserved for source data even if the number of source data pieces to be sent changes.
The stated object is achieved by a digital broadcasting apparatus that multiplexes a plurality of source data pieces into a transport stream of video and audio data of a broadcast program and transmits the transport stream to a receiving apparatus, the digital broadcasting apparatus including: a source data storage unit for storing the plurality of source data pieces; a bitrate storage unit for storing information that shows a bitrate for each source data piece and a total bitrate available for transmitting the plurality of source data pieces; a transmission period storage unit for storing a transmission start time and transmission end time of each source data piece; a bitrate assigning unit for assigning, before the current time reaches each transmission start time and transmission end time in the transmission period storage unit, a transmission bitrate to each source data piece according to the information in the bitrate storage unit so that a sum of the transmission bitrates is no more than the total bitrate; a source data reading unit for reading, from the source data storage unit, each source data piece whose transmission start time matches the current time; a multiplexing unit for (1) holding each source data piece read by the source data reading unit between the transmission start time and transmission end time thereof, and (2) repeatedly multiplexing each held source data piece into the transport stream according to the transmission bitrate assigned to the held source data piece; and a transmission unit for transmitting the transport stream into which each held source data piece has been multiplexed by the multiplexing unit.
With this construction, the digital broadcasting apparatus of the present invention efficiently uses a bandwidth reserved for source data by flexibly adjusting the transmission bitrate of each source data piece according to the time when the source data piece is transmitted. This allows the receiving apparatus that receives digital broadcasts to efficiently receive and use the source data pieces.
Here, the bitrate assigning unit may include: a sum calculation unit for calculating a sum of the bitrates for transmission pieces, the transmission pieces being source data pieces to be simultaneously transmitted; a judging unit for judging whether the sum calculated by the sum calculation unit exceeds the total bitrate; a first calculation unit for calculating, if a judgement result by the judging unit is negative, the transmission bitrate of each transmission piece according to a first equation; and a second calculation unit for calculating, if a judgement result by the judging unit is affirmative, the transmission bitrate of each transmission piece according to a second equation.
With this construction, the digital broadcasting apparatus assigns a transmission bitrate to each source data piece so that the bandwidth reserved for transmitting source data pieces is efficiently used.
Here, according to the first equation, a certain portion of a difference between the total bitrate and the sum calculated by the sum calculation unit may be added to the bitrate for each transmission piece, according to the second equation, a certain portion of a difference between the total bitrate and the sum calculated by the sum calculation unit may be subtracted from the bitrate for each transmission piece, and the bitrate assigning unit may further include a recalculation unit for (3) setting at xe2x80x9c0xe2x80x9d the transmission bitrate of each transmission piece whose transmission bitrate calculated by the second calculation unit was xe2x80x9c0xe2x80x9d or less and (4) recalculating the transmission bitrates of the other transmission pieces.
With this construction, even if the transmission of some source data pieces has become impossible, the digital broadcasting apparatus efficiently transmits other source data pieces.
Here, instead of each transmission piece whose transmission bitrate was set at xe2x80x9c0xe2x80x9d by the recalculation unit, the multiplexing unit may multiplex message data, that is assigned a low transmission bitrate and shows that transmission of the transmission piece has been canceled, into the transport stream.
With this construction, the digital broadcasting apparatus informs a user that the transmission of some source data pieces has been canceled.
Here, according to the first equation, a certain portion of a difference between the total bitrate and the sum calculated by the sum calculation unit may be added to the bitrate for each transmission piece, according to the second equation, a certain portion of a difference between the total bitrate and the sum calculated by the sum calculation unit may be subtracted from the bitrate for each transmission piece, the bitrate storage unit may further store a minimum bitrate and a maximum bitrate of each source data piece, the minimum bitrate of a source data piece being the lowest bitrate at which the receiving apparatus will be able to process the source data piece with sufficient speed, and the maximum bitrate of a source data piece being a bitrate above which no significant gain in speed at processing the source data piece will be able to be achieved for the receiving apparatus, the bitrate assigning unit may further include a transmission bitrate recalculation unit that (5), if there is at least one transmission piece whose transmission bitrate calculated by the second calculation unit is below the minimum bitrate thereof, sets the transmission bitrate of the at least one transmission piece at xe2x80x9c0xe2x80x9d and recalculates the transmission bitrates of the other transmission pieces according to the first equation, and (6), if there is at least one transmission piece whose transmission bitrate calculated by the second calculation unit is above the maximum bitrate thereof, sets the transmission bitrate of the at least one transmission piece as the maximum bitrate and recalculates the transmission bitrates of the other transmission pieces according to the second equation, and the multiplexing unit may multiplex each transmission piece into the transport stream according to the transmission bitrates set and recalculated by the transmission bitrate recalculation unit.
With this construction, the digital broadcasting apparatus assigns a transmission bitrate to each source data piece in consideration of the response time taken by the receiving apparatus.
Here, the bitrate for each source data piece in the bitrate storage unit may match a minimum bitrate of the source data piece, the minimum bitrate of a source data piece being the lowest bitrate at which the receiving apparatus will be able to process the source data piece with sufficient speed.
With this construction, the digital broadcasting apparatus prevents response time taken by the receiving apparatus from becoming too long during viewing of source data pieces.
Here, the digital broadcasting apparatus may further include a bitrate changing unit for changing the information in the bitrate storage unit.
This construction allows the transmission bitrate of each source data piece to be updated anytime.
Here, the digital broadcasting apparatus may further include a warning unit for issuing a warning to the outside if a ratio of the sum calculated by the sum calculation unit to the total bitrate exceeds a given threshold.
With this construction, the digital broadcasting apparatus informs an operator that problems may occur during the transmission of source data in certain time periods.
Here, each source data piece may include a plurality of modules, a priority being assigned to each module, and the source data reading unit may include: a reading order determining unit for determining an order for reading each module of each source data piece according to the priority of the module; and a module reading unit for reading data of each module in predetermined units according to the determined order.
With this construction, the digital broadcasting apparatus first transmits modules having higher priorities. Also, the receiving apparatus processes modules having higher priorities at high speed. This achieves the efficient use of source data pieces.
Here, each source data piece may include a plurality of modules, a transmission bitrate being set for each specific module and a priority being assigned to each non-specific module except for the specific module, and the digital broadcasting apparatus may further include a priority calculation unit for calculating a priority of each specific module from the transmission bitrate of a source data piece including the specific module, the transmission bitrate set for the specific module, and the priority assigned to each non-specific module included in the source data piece.
With this construction, the digital broadcasting apparatus calculates the priority of each specific module for which a transmission bitrate is preset, with regard to the priority of each non-specific module. In this manner, the digital broadcasting apparatus sets the transmission bitrate of each specific module as the preset transmission bitrate.
Here, if a source data piece includes one specific module, the priority calculation unit may calculate the priority of the specific module according to Equation 1                                                        1              x                                                      1                x                            +                                                ∑                  n                                ⁢                                  xe2x80x83                                ⁢                                  1                                      PRIORITY                    ⁢                                          xe2x80x83                                        ⁢                    OF                    ⁢                                          xe2x80x83                                        ⁢                    MODULE                    ⁢                                          xe2x80x83                                        ⁢                    n                                                                                xc3x97          CAROUSEL          ⁢                      xe2x80x83                    ⁢          BITRATE                =                                                            TRANSMISSION                ⁢                                  xe2x80x83                                ⁢                BITRATE                ⁢                                  xe2x80x83                                ⁢                OF                                                                                        SPECIFIC                ⁢                                  xe2x80x83                                ⁢                MODULE                                                                        Equation        ⁢                  xe2x80x83                ⁢        1            
where x refers to the priority of the specific module and the module n refers to a non-specific module included in the source data piece.
With this construction, the digital broadcasting apparatus appropriately calculates the priority of the specific module for which a transmission bitrate is preset.
Here, the source data reading unit may include: a reading order determining unit for determining an order for reading each module of each source data piece according to the priority of the module; and a module reading unit for reading data of each module in predetermined units according to the determined order.
With this construction, the digital broadcasting apparatus first transmits modules having higher priorities, with each specific module being transmitted at the preset transmission bitrate.
Here, if a source data piece includes a plurality of specific modules, the priority calculation unit may calculate the priority of each specific module according to Simultaneous Equations 2  "AutoLeftMatch"                                                                        1                                  x                  1                                                                              1                                      x                    1                                                  +                                  1                                      x                    2                                                  +                …                +                                  1                                      x                    i                                                  +                                                      ∑                    n                                    ⁢                                      xe2x80x83                                    ⁢                                      1                                          Pr                      ⁡                                              (                        n                        )                                                                                                                  xc3x97            Cbr                    =                      br            ⁡                          (              1              )                                                                                                              1                                  x                  2                                                                              1                                      x                    1                                                  +                                  1                                      x                    2                                                  +                …                +                                  1                                      x                    i                                                  +                                                      ∑                    n                                    ⁢                                      xe2x80x83                                    ⁢                                      1                                          Pr                      ⁡                                              (                        n                        )                                                                                                                  xc3x97            Cbr                    =                      br            ⁡                          (              2              )                                                          ⋮                                                                                1                                  x                  i                                                                              1                                      x                    1                                                  +                                  1                                      x                    2                                                  +                …                +                                  1                                      x                    i                                                  +                                                      ∑                    n                                    ⁢                                      xe2x80x83                                    ⁢                                      1                                          Pr                      ⁡                                              (                        n                        )                                                                                                                  xc3x97            Cbr                    =                      br            ⁡                          (              i              )                                            }
where xi refers to the priority of a specific module, Pr(n) refers to the priority assigned to a non-specific module included in the source data piece, Cbr refers to the transmission bitrate of the source data piece, and br(i) refers to the transmission bitrate set for the specific module.
With this construction, even if there are a plurality of specific modules for which transmission bitrates are preset, the digital broadcasting apparatus calculates the priority of each specific module.
Here, each source data piece may include a plurality of modules, a transmission bitrate being set for each specific module and a priority being assigned to each non-specific module except for the specific module, the bitrate assigning unit may include a remaining bitrate assigning unit for obtaining a remaining bitrate by subtracting a sum of the transmission bitrates set for each specific module included in a source data piece from the transmission bitrate of the source data piece and setting a portion of the remaining bitrate as a transmission bitrate of each non-specific module included in the source data piece, the source data reading unit may include: a first reading unit for reading data of each specific module in predetermined units; a reading order determining unit for determining an order for reading each non-specific module according to the priority of the non-specific module; and a second reading unit for reading data of each non-specific module in predetermined units according to the determined order, and the multiplexing unit may include a module data multiplexing unit for (7) multiplexing data of each specific module read by the first reading unit into the transport stream according to the transmission bitrate set for the specific module and (8) multiplexing data of each non-specific module read by the second reading unit into the transport stream according to the transmission bitrate of the non-specific module set by the remaining bitrate assigning unit.
With this construction, the digital broadcasting apparatus multiplexes data of each specific module into the transport stream at the preset transmission bitrate and data of each non-specific module according to the priority of the non-specific module.
Here, if at least one source data piece that is currently transmitted by the transmission unit is updated, the bitrate assigning unit reassigns a transmission bitrate to each currently transmitted source data piece according to the information in the bitrate storage unit.
With this construction, even if source data pieces that are currently transmitted are updated suddenly, the digital broadcasting apparatus dynamically adjusts the transmission bitrate of each currently transmitted source data piece in real time. As a result, the bandwidth reserved for source data is efficiently used.
The stated object is also achieved by a digital broadcasting apparatus that multiplexes a plurality of source data pieces into a transport stream of video and audio data of a broadcast program and transmits the transport stream to a receiving apparatus, the digital broadcasting apparatus including: a source data storage unit for storing the plurality of source data pieces, each source data piece including at least one carousel which is each repeatedly sent as the source data piece for a predetermined time period; a bitrate storage unit for storing information that shows a bitrate for each carousel and a total bitrate available for transmitting the plurality of source data pieces; a transmission period storage unit for storing a transmission start time and transmission end time of each carousel; a bitrate assigning unit for assigning, before the current time reaches each transmission start time and transmission end time in the transmission period storage unit, a transmission bitrate to each carousel according to the information in the bitrate storage unit so that a sum of the transmission bitrates is no more than the total bitrate; a source data reading unit for reading, from the source data storage unit, each carousel whose transmission start time matches the current time; a multiplexing unit for (9) holding each carousel read by the source data reading unit between the transmission start time and transmission end time thereof, and (10) repeatedly multiplexing each held carousel into the transport stream according to the transmission bitrate assigned to the held carousel; and a transmission unit for transmitting the transport stream into which each held carousel has been multiplexed by the multiplexing unit.
With this construction, the digital broadcasting apparatus dynamically assigns a transmission bitrate to each carousel according to the time when the carousel is transmitted. As a result, the bandwidth reserved for source data is efficiently used.
Here, the bitrate assigning unit may include: an adding unit for calculating, if a sum of the bitrates for carousels to be simultaneously transmitted is below the total bitrate, the transmission bitrate of each of the carousels by adding a portion of a difference between the sum of the bitrates and the total bitrate to the bitrate for the carousel according to a size of the carousel; and a subtraction unit for calculating, if the sum of the bitrates for the carousels to be simultaneously transmitted exceeds the total bitrate, the transmission bitrate of each of the carousels by subtracting a portion of the difference between the sum of the bitrates and the total bitrate from the bitrate for the carousel according to a reciprocal of the size of the carousel.
With this construction, the digital broadcasting apparatus appropriately assigns a transmission bitrate to each carousel according to the size of the carousel.
The stated object is further achieved by a digital broadcasting apparatus that multiplexes a plurality of source data pieces into a transport stream of video and audio data of a broadcast program and transmits the transport stream to a receiving apparatus, the digital broadcasting apparatus including: a source data storage unit for storing the plurality of source data pieces, each source data piece including at least one carousel which is each repeatedly sent as the source data piece for a predetermined time period; a bitrate storage unit for storing information that shows a transmission cycle for each source data piece and a total bitrate available for transmitting the plurality of source data pieces; a transmission period storage unit for storing a transmission start time and transmission end time of each source data piece, and a transmission time period of each carousel; a set bitrate calculating unit for calculating a set bitrate of each carousel from the transmission cycle of a source data piece including the carousel and a size of the carousel; a bitrate assigning unit for (11) obtaining a transmission start time and transmission end time of each carousel from the information in the transmission period storage unit, and (12) assigning, before the current time reaches each transmission start time and transmission end time in the transmission period storage unit, a transmission bitrate to each carousel according to the set bitrate calculated for the carousel so that a sum of the transmission bitrates is no more than the total bitrate; a source data reading unit for reading, from the source data storage unit, each carousel whose transmission start time matches the current time; a multiplexing unit for (13) holding each carousel read by the source data reading unit between the transmission start time and transmission end time thereof, and (14) repeatedly multiplexing each held carousel into the transport stream according to the transmission bitrate assigned to the held carousel; and a transmission unit for transmitting the transport stream into which each held carousel has been multiplexed by the multiplexing unit.
With this construction, the digital broadcasting apparatus dynamically assigns a transmission bitrate to each carousel according to the time when the carousel is transmitted. When doing so, the digital broadcasting apparatus uses the transmission cycle that is preset for each source data piece in consideration of the response time taken by the receiving apparatus.
The object of the present invention is also achieved by a computer-readable recording medium that records a program and is applied to a digital broadcasting apparatus for multiplexing a plurality of source data pieces into a transport stream of video and audio data of a broadcast program and transmitting the transport stream to a receiving apparatus, the program having a computer of the digital broadcasting apparatus achieve the following units: a source data storage unit for storing the plurality of source data pieces; a bitrate storage unit for storing information that shows a bitrate for each source data piece and a total bitrate available for transmitting the plurality of source data pieces; a transmission period storage unit for storing a transmission start time and transmission end time of each source data piece; a bitrate assigning unit for assigning, before the current time reaches each transmission start time and transmission end time in the transmission period storage unit, a transmission bitrate to each source data piece according to the information in the bitrate storage unit so that a sum of the transmission bitrates is no more than the total bitrate; a source data reading unit for reading, from the source data storage unit, each source data piece whose transmission start time matches the current time; a multiplexing unit for (15) holding each source data piece read by the source data reading unit between the transmission start time and transmission end time thereof, and (16) repeatedly multiplexing each held source data piece into the transport stream according to the transmission bitrate assigned to the held source data piece; and a transmission unit for transmitting the transport stream into which each held source data piece has been multiplexed by the multiplexing unit.
The bandwidth reserved for source data is efficiently used by applying this computer-readable recording medium to a digital broadcasting apparatus that does not originally have the function for dynamically assigning a transmission bitrate to each source data piece in each transmission time period.